package home

import dominio.Planta
import java.util.List
import org.uqbar.commons.model.CollectionBasedHome
import org.uqbar.commons.utils.Observable

//import personajes.UserException
@Observable
class HomePlantas extends CollectionBasedHome<Planta> {

	new() {
		this.init
	}

	def void init() {
		this.create(25, 50, "tierra", "Shooter")
		this.create(10, 50, "tierra", "Girasol")
		this.create(90, 90, "agua", "Medusa")
		this.create(25, 55, "agua", "Waterproof")
		this.create(20, 40, "agua", "Espora agua")
		this.create(30, 70, "tierra", "Doble Shooter")
		this.create(40, 100, "tierra", "Espinas")
	}

	def void create(Integer puntosDanio, Integer capacidadDefensiva, String tipo, String nombre) {
		var planta = new Planta
		planta.puntosDanio = puntosDanio
		planta.capacidadDefensiva = capacidadDefensiva
		planta.tipo = tipo
		planta.nombre = nombre
		this.create(planta)
	}

	override def getCriterio(Planta example) {
		null
	}

	def List<Planta> getPlantas() {
		allInstances
	}

	def Planta get(String descripcion) {
		plantas.findFirst[planta|planta.descripcion.equals(descripcion)]
	}

	override createExample() {

		//CAMBIAR DESPUES
		new Planta()
	}

	override def Class<Planta> getEntityType() {
		typeof(Planta)
	}

	def search() {
		allInstances
	}

	/*def List<Planta> searchAgua() {
		plantas.filter[planta|planta.tipo.equals("agua")].toList
	}*/
	/*def List<Planta> searchTierra() {
		plantas.filter[planta|planta.tipo.equals("tierra")].toList
	}*/
	def buscarPlanta(int valor) {
		plantas.get(valor)
	}

}
